home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / asm-m68k / module.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  814 b   |  40 lines

  1. #ifndef _ASM_M68K_MODULE_H
  2. #define _ASM_M68K_MODULE_H
  3.  
  4. struct mod_arch_specific {
  5.     struct m68k_fixup_info *fixup_start, *fixup_end;
  6. };
  7.  
  8. #define MODULE_ARCH_INIT {                \
  9.     .fixup_start        = __start_fixup,    \
  10.     .fixup_end        = __stop_fixup,        \
  11. }
  12.  
  13. #define Elf_Shdr Elf32_Shdr
  14. #define Elf_Sym Elf32_Sym
  15. #define Elf_Ehdr Elf32_Ehdr
  16.  
  17.  
  18. enum m68k_fixup_type {
  19.     m68k_fixup_memoffset,
  20.     m68k_fixup_vnode_shift,
  21. };
  22.  
  23. struct m68k_fixup_info {
  24.     enum m68k_fixup_type type;
  25.     void *addr;
  26. };
  27.  
  28. #define m68k_fixup(type, addr)            \
  29.     "    .section \".m68k_fixup\",\"aw\"\n"    \
  30.     "    .long " #type "," #addr "\n"    \
  31.     "    .previous\n"
  32.  
  33. extern struct m68k_fixup_info __start_fixup[], __stop_fixup[];
  34.  
  35. struct module;
  36. extern void module_fixup(struct module *mod, struct m68k_fixup_info *start,
  37.              struct m68k_fixup_info *end);
  38.  
  39. #endif /* _ASM_M68K_MODULE_H */
  40.